1. Field of the Invention
The present invention generally relates to a development environment for creating INF files and, in particular, to a development environment for developing, testing, and debugging portions of INF file without affecting the operation of the computer.
2. Description of the Related Art
An INF file is a configuration file for devices or applications that operate under the control of the Windows 95.TM. or Windows NT.TM. operating systems sold by Microsoft Corporation. The INF file is comprised of INF language statements and commands that are interpreted by the operating system (or components thereof) during installation and/or execution. The operating system also provides an application programming interface (API) comprised of a plurality of functions that are used to read and interpret INF files.
More information on INF files can be found in the Win32 Software Development Kit (SDK) for Windows 95.TM. and Windows NT.TM. published by Microsoft Corporation. Additional information on INF files can be found in the Windows 95.TM. or Windows NT.TM. Device Development Kit (DDK) published by Microsoft Corporation. The Windows.TM. SDK is a software package that assists programmers in developing software that executes under Microsoft Windows.TM., and the Windows.TM. DDK is a software package that assists vendors in writing device drivers for printers, video display cards, and networks for Microsoft Windows.TM..
The purpose of the INF file is to provide vendors (and customers) with an easy and fairly foolproof method of installing applications and device drivers. Vendors generally create their own custom INF files that are shipped and installed with the device driver or application.
The INF files contain the information required by the operating system to correctly install, access, and/or execute the device driver or application. This information includes, at a minimum, characteristics of the device driver or application, such as version, manufacturer, detect, install, miscellaneous control and strings.
Whenever an INF file is interpreted, the operating system usually copies the software and any other necessary files to the computer, and makes the indicated modifications to the Windows.TM. Registry. Thereafter, under current Windows.TM. procedures, the computer is rebooted so that the modifications take effect.
The difficulties that come about when developing INF files include:
1. Debug output from the INF file typically requires two computers, e.g., a target computer coupled to a host computer, with the developer using a debugger on the host computer to communicate with the target computer.
2. Every time the INF file is interpreted, a reboot of the computer is required, which is time consuming.
3. To rerun the INF file, the changes made to the Registry by the previous interpretation of the INF file have to be undone. This implies re-running the INF file using a "remove" option, which requires another reboot of the computer, and then assumes that the remove portion of the INF file is correct and has no programming errors. If the remove option does not work correctly, then the developer must manually remove changes made to the Registry during the interpretation of the INF file.
4. The debug output from the INF file may not show all of the changes made to the operating system and the computer by the interpretation of the INF file. This is especially true for changes made by routines in System INF files provided with the operating system that are invoked by the test INF file.
Thus, such prior art methods of developing and debugging INF files are cumbersome and unwieldy. These prior art methods generally require a substantial amount of time to debug INF files, thereby slowing the actual release of the device or application by the developer. Thus, there is a need in the art for an INF development environment that eliminates these problems and facilitates the creation and debugging of INF files.